package com.tanhua.server.controller;

import com.tanhua.model.domain.PageResult;
import com.tanhua.model.vo.UserInfoVo;
import com.tanhua.server.service.MessagesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@RestController
@RequestMapping("/messages")
public class MessagesController {

    @Autowired
    private MessagesService messagesService;


    /**
     * 根据环信用户ID查询用户信息:
     * 请求路径： /messages/userinfo
     * 请求方式：get
     * 请求参数:String,huanxinId;环信id
     * 响应数据：UserInfoVo
     */
    @GetMapping("/userinfo")
    public ResponseEntity queryInfoByHuanXin(String huanxinId){

        UserInfoVo userInfoVo = messagesService.queryInfoByHuanXin(huanxinId);

        return ResponseEntity.ok(userInfoVo);
    }


    /*
     * 点击确认添加之后,添加好友：
     * 请求路径：/messages/contacts
     * 请求方式：post
     * 请求参数：要添加的好友的用户id，  integer   userId,使用map集合接收
     * 响应数据：null
     */

    @PostMapping("/contacts")
    public ResponseEntity addFriend(@RequestBody Map map){
        String id = map.get("userId").toString();
        Long friendId = Long.valueOf(id);

        messagesService.addFriend(friendId);

        return ResponseEntity.ok(null);
    }



    /**
     * 分页查询好友列表：
     * 请求路径：/messages/contacts
     * 请求方式：get
     * 请求参数：     Integer page(当前页码),Integer pageSize(每页展示数),String keyword(关键字)
     *响应数据：ContactVo
     */
    @GetMapping("/contacts")
    public ResponseEntity queryFriends(@RequestParam(defaultValue = "1") Integer page,
                                       @RequestParam(defaultValue = "10") Integer pageSize,
                                       String keyword){

        PageResult pageResult = messagesService.queryFriends(page,pageSize,keyword);
        return ResponseEntity.ok(pageResult);

    }


}
